#!/usr/bin/python
# -*- coding:utf-8 -*-
# @author  : micah
# @time    :  
# @function: 
# @version :


import  asyncio


async def others():
    print('start..')
    await asyncio.sleep(5)
    print('end..')
    # 在当前协程函数中返回一个数据
    return '这是others协程函数返回的一个数据'


async def func():
    print('执行协程函数中的内部代码..')
    # 在func协程函数中去执行others协程函数
    response = await others()
    print('当前others协程函数任务所返回的值为：', response)

# 使用 asyncio 库中的 get_event_loop() 函数来获取一个事件循环对象 loop。
loop = asyncio.get_event_loop()
# 使用 loop.run_until_complete() 函数来运行一个异步函数 func()，直到它完成为止。
loop.run_until_complete(func())

"""
1.事件循环运行func协程对象
2.在func协程对象中发现await关键字进行任务切换
3.运行others协程对象中的代码
4.在others函数中的await获取的是asyncio.sleep()的返回值
"""
